堆疊(stack),將資料有序排成一列且具有 後進先出 LIFO(Last In First Out) 的資料結構,通常以一維陣列或鏈結串列的方式呈現,規則是先加入的資料最後才能夠移出來,反之後進入的資料優先出來,可以想像將東西依序收入箱子中後,需要先從最上層的東西開始移動才可以拿到最早放進去的物品。
範例說明 :
題目 : 使用堆疊資料結構,依序放入 { 1, 3, 5, 7} 四個元素,從中拿出兩個元素後,再依序放入
{ 9, 11 } 兩個元素,請問最後結果由上至下的元素依序為何?
Step 1 : 將 { 1, 3, 5, 7} 四個元素依序推入 (Push) 後,由上而下的順序是 { 7, 5, 3, 1 } 四個元素。
Step 2 : 從中依序拿出兩個元素的過程為 { 7, 5 },堆疊中剩餘的元素依序為 { 3, 1 }。
Step 3 : 依序將 { 9, 11 } 兩個元素放入堆疊中,此時堆疊中的元素依序為 { 11, 9, 3, 1 }。
優點 :
缺點 :
參考資料 : 堆疊 - 維基百科